// animal.hpp
#include <iostream>

class Animal {
public:
  virtual void sound() = 0;
  virtual ~Animal() {}
};

// 定义统一的创建/销毁函数指针类型
extern "C" {
typedef Animal *(*create_t)();
typedef void (*destroy_t)(Animal *);
}
